﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Libreria.SIG.Modelo;

namespace Libreria.SIG.Negocio
{
    public class ContenidoDelMenuNegocio
    {
        public List<ContenidoDelMenu> consultarContenidoDeMenu(Int32 Menu, String cadenaDeConexion)
        {
            ContenidoDelMenu listaDeRecetas = new ContenidoDelMenu(cadenaDeConexion);
            List<ContenidoDelMenu> lista = new List<ContenidoDelMenu>();
            if (Menu > 0)
            {
                lista = listaDeRecetas.consultarPorMenu(Menu);
            }
            return lista;
        }

        public List<IngredientesParaReceta> consultarIngredientesNecesarios(Int32 Menu, Int32 Porciones, String cadenaDeConexion)
        {
            ContenidoDelMenu listaDeRecetas = new ContenidoDelMenu(cadenaDeConexion);
            List<ContenidoDelMenu> lista = new List<ContenidoDelMenu>();
            List<IngredientesParaReceta> _ing = new List<IngredientesParaReceta>();

            if (Menu > 0)
            {
                lista = listaDeRecetas.consultarPorMenu(Menu);
            }

            if (Porciones > 0)
            {
                foreach (ContenidoDelMenu item in lista)
                {
                    (new IngredientesDeRecetaNegocio()).consultarIngredientesNecesarios(item.Receta.Value, Porciones, _ing, cadenaDeConexion);
                }
            }

            return _ing;
        }

        public void eliminarContenidoDelMenu(Int32 Menu, Int32 Receta, String cadenaDeConexion)
        {
            ContenidoDelMenu contenido = new ContenidoDelMenu(cadenaDeConexion);
            contenido.Menu = Menu;
            contenido.Receta = Receta;
            contenido.eliminar();
        }

        public void actualizarContenidoDelMenu(Int32 Menu, Int32 Receta, String cadenaDeConexion)
        {
            ContenidoDelMenu contenido = new ContenidoDelMenu(cadenaDeConexion);
            contenido.Menu = Menu;
            contenido.Receta = Receta;
            contenido.actualizar();
        }

        public void crearContenidoDelMenu(Int32 Menu, Int32 Receta, String cadenaDeConexion)
        {
            ContenidoDelMenu contenido = new ContenidoDelMenu(cadenaDeConexion);
            contenido.Menu = Menu;
            contenido.Receta = Receta;
            contenido.crear();
        }
    }

    public class IngredientesParaReceta
    {
        public String nombreIngrediente { get; set; }
        public Double cantidad { get; set; }
        public String unidad { get; set; }
    }
}
